<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://webservices.groove.net/Groove/2.0/Members/" xmlns:c="http://webservices.groove.net/Groove/2.0/Core/" xmlns:e="http://webservices.groove.net/Groove/2.0/Events/" elementFormDefault="qualified" targetNamespace="http://webservices.groove.net/Groove/2.0/Members/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="./Core.xsd" namespace="http://webservices.groove.net/Groove/2.0/Core/" />
  <xs:import schemaLocation="./Events.xsd" namespace="http://webservices.groove.net/Groove/2.0/Events/" />
  <xs:complexType name="Member">
    <xs:sequence>
      <xs:element name="URI" type="xs:anyURI" />
      <xs:element name="Contact" type="xs:anyURI" />
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Role" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Awareness" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="AwarenessState" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="TimeWentIdle" type="xs:dateTime" />
      <xs:element minOccurs="0" maxOccurs="1" name="SyncState" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="ActiveInSpace" type="xs:anyURI" />
      <xs:element minOccurs="0" maxOccurs="1" name="ActiveInTool" type="c:URIList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MemberList">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Member" type="tns:Member" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MemberAddEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="SpaceURI" type="xs:anyURI" />
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberUpdateEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberDeleteEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="SpaceURI" type="xs:anyURI" />
          <xs:element name="MemberURI" type="xs:anyURI" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberAwarenessEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberEnterSpaceEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="SpaceURI" type="xs:anyURI" />
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberExitSpaceEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="SpaceURI" type="xs:anyURI" />
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberEnterToolEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="ToolURI" type="xs:anyURI" />
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MemberExitToolEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="ToolURI" type="xs:anyURI" />
          <xs:element name="Member" type="tns:Member" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Create">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Member" type="tns:Member" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="Read">
    <xs:complexType />
  </xs:element>
  <xs:element name="ReadResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ReadResult" type="tns:MemberList" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Delete">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="MemberURIList" type="c:URIList" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="EnterSpace">
    <xs:complexType />
  </xs:element>
  <xs:element name="EnterSpaceResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="ExitSpace">
    <xs:complexType />
  </xs:element>
  <xs:element name="ExitSpaceResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="EnterTool">
    <xs:complexType />
  </xs:element>
  <xs:element name="EnterToolResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="ExitTool">
    <xs:complexType />
  </xs:element>
  <xs:element name="ExitToolResponse">
    <xs:complexType />
  </xs:element>
</xs:schema>